Reading of magnetic stripe card data has been done primarily by swiping the magnetic stripe against the reader head of a magnetic stripe reader (MSR). The movement of the card causes the magnetic domains contained in the stripe to induce voltages in the reader head. Data on magnetic stripes is contained in discrete tracks (channels) whose content and format are mutually incompatible. These tracks are spaced closely to each other. Magnetic stripe readers contain multiple track reader channels, where the read head's individual pick-up inductors are precisely lined up with the corresponding tracks on the magnetic stripe. Each reader channel only “sees” the data from its corresponding magnetic stripe track.
A typical magnetic stripe with its tracks is described with reference to FIG. 1. As illustrated, the three tracks of data, which are encoded directly to magnetic stripe 11, are labeled as 101, 102, and 103. The magnetic stripe is located 0.223 inches from the edge of the card and each of three tracks is 0.110 inches wide. The track 101 is typically recorded at 210 bits per inch with a maximum data length of 79 characters. The track 101 was developed by the International Air Transaction Association (IATA) and contains 7-bit alphanumeric characters for automation of airline ticketing or other transactions where a reservation database is accessed. The track 102 typically has a recording density of 75 bits per inch with a maximum data length of 40 characters. The track 102 was developed by the American Bankers Association (ABA) and contains 5-bit numeric characters for the automation of financial transactions. This track of information is also used by most systems that require an identification number and other control information. The track 103 was developed by e Thrift Industry and is virtually unused by the major worldwide card processing/payment networks.
FIG. 2 shows an example data structure stored on the track 101 of a payment card. Track 101 can include the following fields (in this order):    SS|FC|PAN|FS|Name|FS|Additional Data|Discretionary Data|ES|LRC|.    Start Sentinel (SS) indicates the beginning of the data structure and is set to the character “%”.    Field Code (FC) is set with one character and indicates the card type. Primary Account Number (PAN) is set to the credit/debit card number and is always numerical up to 19 digits. Field Separator (FS) delimits different fields and is set to the character “^”. Name represents the name of a particular card account holder and is alphanumerical up to 26 characters. Additional Data includes information about card expiration date and types of charges being accepted, where date format is YYMM. Discretionary Data includes card verification information. End Sentinel (ES) indicates the end of the data structure and is set to the character “?”. Longitude Redundancy Check (LRC) is used to verify that the track 101 was read accurately.
With reference now to FIG. 3, an exemplary data structure stored on the track 102 of the payment card is illustrated. The data layout here slightly differs from the track 101 but is as follows:    SS|PAN|FS|Additional Data|Discretionary Data|ES|LRC|.    Start Sentinel (SS) indicates the beginning of the data structure and is set to the character “;”.    Primary Account Number (PAN) is set to the credit/debit card number and is always numerical up to 19 digits. Field Separator (FS) delimits different fields and is set to the character “=”.    Additional Data and Discretionary Data are similar to the data described in FIG. 2 with respect to track 101. As introduced in FIG. 2, End Sentinel (ES) here indicates the end of the data structure and Longitude Redundancy Check (LRC) is used to verify that the track 102 was read accurately.
FIG. 4 illustrates a block diagram of a typical magnetic stripe card reader with two read heads as may be typically installed on most Point Of Sale (POS) terminals to read payment cards. The magnetic stripe reader includes a Track 1 read head 401 and a Track 2 read head 402. Although not shown, in operation, the stripe 11 is inserted into a slot in a housing of the POS terminal and is swiped or passed by the two read heads. As the magnetic stripe 11 is passed by the two read heads, a first read head 401 reads data stored in the track 101 and a second read head 402 reads data stored in the track 102. Then reader software typically installed in the POS terminal processes the data received from the read heads 401, 402. Disadvantageously, the data on the magnetic stripe is static and subject to copying and fraud.
In recent years, to eliminate the fraud associated with static magnetic stripe cards, electronic cards and magnetic contactless methods have been developed that employ electronically simulated magnetic stripes that can transmit dynamic card data that is less susceptible to copying fraud. On traditional magnetic stripes the fields associated with each track of data are narrow and confined to the reading aperture of the corresponding read head channel. Both simulated electronic magnetic stripes and magnetic transmissions have wider fields that often leak into the adjacent track pick-up channel. Because the different tracks' data are encoded differently and are mutually incompatible, the leakage of the specific track's magnetic fields into an adjacent track read head causes reading errors. For example, the data (7-bit) stored in the track 101 leaks into the track 102 channel and is read by the read head 202, where the parsing software that is expecting 5-bit characters, will indicate an error. Conversely, when the track 102 data leaks into the track 101 channel, the encoding and the LRC will be wrong. Some POS reader software is unable to handle these exception conditions and terminates the transaction in error, or at least displays error messages that can confuse operators and/or consumers. Because of the close proximity of the tracks in a standard card and because of a lack of standardization in card readers, the leakage of the wrong track data into an adjacent channel is very difficult to prevent.